qiankun 的设计理念是在子应用卸载时，将环境还原到子应用加载前的状态，
以防止子应用对全局环境造成污染。这种设计理念与 keep-alive 的需求是相悖的，
因为 keep-alive 需要保留子应用的状态，而不是在子应用卸载时将其状态清除。

<!-- 实现方式 -->
1.一种可能的方法是在子应用的生命周期函数中保存和恢复子应用的状态。
例如，我们可以在子应用的 unmount 函数中保存子应用的状态，
然后在 mount 函数中恢复这个状态

<script>
  // 伪代码
let savedState;

export async function mount(props) {
  // 恢复子应用的状态
  if (savedState) {
    restoreState(savedState);
  }
}

export async function unmount() {
  // 保存子应用的状态
  savedState = saveState();
}

function saveState() {
  // 保存子应用的状态
  // 这个函数的实现取决于你的应用
}

function restoreState(state) {
  // 恢复子应用的状态
  // 这个函数的实现取决于你的应用
}

</script>
这种方法的缺点是需要手动保存和恢复子应用的状态，
这可能会增加开发的复杂性。此外，这种方法也不能保留子应用的 DOM 状态，
只能保留 JavaScript 的状态。

2.还有一种就是手动*loadMicroApp*+display:none，直接隐藏Dom

3.另一种可能的方法是使用 single-spa 的 Parcel 功能。
Parcel 是 single-spa 的一个功能，它允许你在一个应用中挂载另一个应用，
并且可以控制这个应用的生命周期。
通过 Parcel，我们可以将子应用挂载到一个隐藏的 DOM 元素上，
从而实现 keep-alive 的效果。
然而，这种方法需要对 qiankun 的源码进行修改，因为 qiankun 目前并不支持 Parcel
